/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package isistomarc21;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.marc4j.MarcStreamWriter;
import org.marc4j.MarcWriter;
import org.marc4j.marc.ControlField;
import org.marc4j.marc.DataField;
import org.marc4j.marc.MarcFactory;
import org.marc4j.marc.Record;

/**
 *
 * @author wilo
 */
public class IsisToMarc21 {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) { 
        //op1();
        
        
    }
   
    public static void op1()
    {   
        OutputStream out = null;
        
        //int contadores aux
        int registrosCorrectos=0;
        int campo7vacio=0;
        int campo7diferente=0;
        int contOp1=0;
        int contOp2=0;
        int contOp3=0;
        int contOp4=0;
        int contOp5=0;
        int contOp6=0;
        int contOp7=0;
        int contOp8=0;
        int campo5Correcto=0;
        int campo5Incorrecto=0;
        int campo5Total=0;
        int campo41Correcto=0;
        int campo41Incorrecto=0;
        int campo41Total=0;
        int campo500Correcto=0;
        int campo500Incorrecto=0;
        int campo500Total=0;
        int campo3005Correcto=0;
        int campo3006Correcto=0;
        int campo3007Correcto=0;
        int campo3017Correcto=0;
        int campo3018Correcto=0;
        int totalGuardado=0;
        
        int conti=0;
        String auxi="";
        String fechaUpdate="2014/01/01";
        String fechaRegistro="";
        String mfn="";
        String guardado="";
        
        int conTotalReg=0;
        ////////////////////
        try{
            //Creacion de las variables con sus valores por defecto
            String leader="";
            String estado_registro="n"; //caracter 5 del leader 
            String tipo_registro="a";   //caracter 6 del leader
            String nivel_bibliografico="b"; //caracter 7 del leader
            String nivel_codificacion=" ";  //caracter 17 del leader
            String forma_catalogacion="a";  //caracter 18 del leader
            boolean bleader=false;
            
            boolean bandera=true;
            char indicador1=' ';
            char indicador2=' ';
            char [] indicadores = new char[2];
            MarcFactory factory= MarcFactory.newInstance();
            Record record = null;
            DataField datafield = null;
            //Creación de un archivo .mrc con Formato ISO
            File file=new File("PruebaCorto100.mrc");
            out = new FileOutputStream(file,true);
            MarcWriter writer = new MarcStreamWriter(out);
            
            String[] split;
            try{
                Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 to=100 pft=@marc.pft");
                BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
                String line = null;
                
                String campoText="";
                String[] subcampo=null;
                boolean primerIndicador=false;
                boolean segundoIndicador=false;
                String[] subcampos2;
                boolean conditional=true;
                                        
                while ((line = in.readLine()) != null){       
                   split = line.split("__");
                   auxi=auxi+line;
                   
                    if(split.length>1){
                        //Ejemplo: 
                        //#653_  ^aCIRCO  ^aDOMADOR
                        //System.out.println(line);
                        
                        //Se muestra el número de campo: 
                        //653
                        campoText=split[0].substring(3, split[0].length());
                       // System.out.println("campo: "+campoText);
                        
                        int campo=Integer.parseInt(campoText);
                        if (campo<3000 && bleader==false)
                        {
                         //   System.out.println("Crea el leader");
                            leader="00000"+estado_registro+tipo_registro+nivel_bibliografico+"  2200000"+nivel_codificacion+forma_catalogacion+" 4500";
                            estado_registro="n";
                            tipo_registro="a"; // OJOOOOOOOOOOOOOOOO
                            nivel_bibliografico="b";
                                
                            nivel_codificacion=" ";
                            forma_catalogacion="a";
                            record= factory.newRecord(leader);
                           // System.out.println(leader);
                            bleader=true;
                        }
                        
                        //if campo es 005, comparamos la fecha de actualizacion con la del registro
                        if (campo==5)
                        {
                            if(split[1].substring(0, 1).compareTo("^")!=0){
                                if (split[1].substring(0, 1).compareTo("c")==0 || split[1].substring(0, 1).compareTo("n")==0)
                                {
                                    split[1]=split[1].substring(1);
                                    campo5Incorrecto++;
                                }
                                else
                                    campo5Correcto++;
                            }
                            else{
                                split[1]=split[1].substring(2); // Eliminamos los caracteres ^a
                                campo5Incorrecto++;
                            }
                            if (split[1].length()>7)
                            {
                                fechaRegistro = split[1].substring(0,4)+"/"+split[1].substring(4,6)+"/"+split[1].substring(6,8);

                                SimpleDateFormat formateador = new SimpleDateFormat("yyyy/MM/dd");

                                Date fechaRegistroD=null;
                                Date fechaUpdateD=null;
                                try {
                                    fechaRegistroD = formateador.parse(fechaRegistro);
                                    fechaUpdateD = formateador.parse(fechaUpdate);
                                } catch (ParseException ex) {
                                    Logger.getLogger(IsisToMarc21.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                int ymk=0;
                                if ( fechaUpdateD.after(fechaRegistroD) ){
                                    conditional=false;
                                    int conti2=0;
                                    while (conti2<25)
                                    {
                                        line = in.readLine();
                                        conti2++;
                                    }
                                }
                                else
                                    ymk=1;
                            }
                            else
                                System.out.println("line: "+line+". split[1]: "+split[1]);
                        }
                        //Si tiene el campo ^:
                        //  ^aCIRCO  ^aDOMADOR
                        
                        if(split[1].length()>1 ){
                            switch (campo)
                            {  
                                case 1:{
                                    ControlField control=factory.newControlField("001", split[1]);
                                    record.addVariableField(control);
                                    mfn=split[1];
                                    guardado=split[0]+" "+split[1];
                                    break;
                                }
                               case 5:{
                                    if(split[1].substring(0, 1).compareTo("^")!=0){
                                        if (split[1].substring(0, 1).compareTo("c")==0 || split[1].substring(0, 1).compareTo("n")==0)
                                        {
                                            split[1]=split[1].substring(1);
                                            campo5Incorrecto++;
                                        }
                                        else
                                            campo5Correcto++;
                                    }
                                    else{
                                        split[1]=split[1].substring(2); // Eliminamos los caracteres ^a
                                        campo5Incorrecto++;
                                    }
                                    if(split[1].length()<8)
                                        System.out.println(mfn+" "+split[1]);
                                    else
                                    {
                                        fechaRegistro = split[1].substring(0,4)+"/"+split[1].substring(4,6)+"/"+split[1].substring(6,8);
                                        ControlField control=factory.newControlField("005", split[1]);
                                        record.addVariableField(control);
                                        campo5Total++;
                                    }
                                    break;
                                }
                                case 41:{
                                    boolean c_datafiel=true;
                                    if(split[1].substring(0, 1).compareTo("^")!=0){
                                        indicadores=Indicadores(split[1]);
                                        indicador1=indicadores[0];
                                        indicador2=indicadores[1];
                                        datafield=factory.newDataField("041",indicador1,indicador2);
                                        Subcampos(split[1],datafield,factory);
                                        campo41Incorrecto++;
                                    }
                                    else{
                                        campo41Correcto++;
                                        //System.out.println("  -1er Indicador : Vacio\n  -2do Indicador : Vacio");
                                        primerIndicador=false;
                                        segundoIndicador=false;
                                        // Separo por el caracter: ^
                                        //1ro->"  "  
                                        //2do->"aCIRCO  "
                                        //3ro->"aDOMADOR"
                                        subcampo=split[1].split("\\^");
                                        int cont=1;
                                        
                                        if(subcampo.length>2)
                                        {
                                            
                                            bandera=false;
                                        while (cont<subcampo.length)
                                        {
                                            String subcampoAux=subcampo[cont].substring(0,1);
                                            if (subcampoAux.compareTo("0")==0 || subcampoAux.compareTo("1")==0){
                                   //             System.out.println("  -1er Indicador : "+subcampo[cont].substring(1,subcampo[cont].length()));
                                                primerIndicador=true;
                                                indicador1=subcampo[cont].substring(1,2).charAt(0);
                                            }
                                            else if (subcampoAux.compareTo("7")==0 || subcampoAux.compareTo("#")==0){
                                     //           System.out.println("  -2do Indicador : "+subcampo[cont].substring(1,subcampo[cont].length()));
                                                segundoIndicador=true;
                                            
                                                indicador2=subcampo[cont].substring(1,2).charAt(0);
                                            }else{
                                                if(c_datafiel==true){
                                                    datafield=factory.newDataField("041"+"",indicador1,indicador2);
                                                    c_datafiel=false;
                                                }
                                       //         System.out.println("    *Subcampo: "+subcampoAux+" : "+subcampo[cont].substring(1,subcampo[cont].length()));
                                                //if(subcampo[cont].substring(1,subcampo[cont].length()))
                                                datafield.addSubfield(factory.newSubfield(subcampoAux.charAt(0),subcampo[cont].substring(1,subcampo[cont].length())));
                                                
                                            }
                                            if(primerIndicador==false){
                                         //       System.out.println("  -1er Indicador : Vacio");
                                                indicador1=' ';
                                            }
                                            if(segundoIndicador==false){
                                           //     System.out.println("  -2do Indicador : Vacio...");
                                                indicador2=' ';
                                            }
                                            cont++;
                                        }
                                        }
                                        else{
                                            datafield=null;
                                        }
                                    }
                                    campo41Total++;
                                    break;
                                }
                                case 500:{
                                    if(split[1].substring(0, 1).compareTo("^")!=0){
                                        campo500Incorrecto++;
                                        if(split[1].substring(0, 1).compareTo(" ")==0 || split[1].substring(0, 1).compareTo("#")==0){
                                            indicadores=Indicadores(split[1]);
                                            indicador1=indicadores[0];
                                            indicador2=indicadores[1];
                                            datafield=factory.newDataField(campo+"",indicador1,indicador2);
                                            Subcampos(split[1],datafield,factory);
                                        }
                                        else{
                                            //ignoramos los datos de este campo
               //                             System.out.println("  -1er Indicador : Vacio\n  -2do Indicador : Vacio");
                 //                           System.out.println("    *Valor  : "+split[1]);
                                            datafield=null;
                                        }
                                    }
                                    else{                                    
                   //                     System.out.println("  -1er Indicador : Vacio\n  -2do Indicador : Vacio");
                                        indicador1=' ';
                                        indicador2=' ';
                                        datafield=factory.newDataField(campo+"",indicador1,indicador2);
                                        Subcampos(split[1],datafield,factory);
                                        campo500Correcto++;
                                    }
                                    campo500Total++;
                                    
                                    break;
                                }
                                default:{
                                    if(split[1].substring(0, 1).compareTo("^")!=0){
                                        indicadores=Indicadores(split[1]);
                                        indicador1=indicadores[0];
                                        indicador2=indicadores[1];
                                    }
                                    else{
                     //                   System.out.println("  -1er Indicador : Vacio\n  -2do Indicador : Vacio");
                                        indicador1=' ';
                                        indicador2=' ';
                                    }
                                    if(campo<100)
                                        datafield=factory.newDataField("0"+campo+"",indicador1,indicador2);
                                    else 
                                        datafield=factory.newDataField(campo+"",indicador1,indicador2);
                       //             System.out.println("DATAFIELD:"+ campo + indicador1+indicador2);
                                    Subcampos(split[1],datafield,factory);
                                    indicador1=' ';
                                    indicador2=' ';

                                    
                                    break;
                                }
                                    
                            }                        
                            
                            if(campo!= 5 && datafield!=null){
                                // && datafield.getSubfields().size()>0 
                                record.addVariableField(datafield); 
                                //datafield=null;
                               
                            }else{
                                bandera=true;
                            }
                            
                        }
                        else{
                           switch (campo){
                                case 3005:{
                                    //System.out.println("  Valor : "+split[1]);
                                    estado_registro=split[1];
                                    campo3005Correcto++;
                                    break;
                                }
                                case 3006:{
                                   // System.out.println("  Valor : "+split[1]);
                                    tipo_registro=split[1];
                                    campo3006Correcto++;
                                    break;
                                }
                                case 3007:{
                                    //System.out.println("  Valor : "+split[1]);
                                    nivel_bibliografico=split[1];
                                    campo3007Correcto++;
                                    break;
                                }
                                case 3017:{
                                    //System.out.println("  Valor : "+split[1]);
                                    if (split[1].compareTo("#")==0)
                                        split[1]=" ";
                                    nivel_codificacion=split[1];
                                    campo3017Correcto++;
                                    break;
                                }
                                case 3018:{
                                    //System.out.println("  Valor : "+split[1]);
                                    forma_catalogacion=split[1];
                                    campo3018Correcto++;
                                    break;
                                } 
                           }
                        }
                    }
                    else{
                        if(line.length()==0){
                            
                            SimpleDateFormat formateador = new SimpleDateFormat("yyyy/MM/dd");
                            
                            Date fechaRegistroD=null;
                            Date fechaUpdateD=null;
                            try {
                                fechaRegistroD = formateador.parse(fechaRegistro);
                                fechaUpdateD = formateador.parse(fechaUpdate);
                                
                                if ( fechaUpdateD.before(fechaRegistroD) )
                                {
                                    writer.write(record);
                                    conTotalReg++;
                                    totalGuardado++;
                                    System.out.println("...."+ guardado+" fecha: "+fechaRegistro);
                                }
                            } catch (ParseException ex) {
                                Logger.getLogger(IsisToMarc21.class.getName()).log(Level.SEVERE, null, ex);
                                System.out.println("...."+ fechaRegistro);
                            }
                                
                            
                            
                            //System.out.println(record.getControlFields().get(0));
                            
                            bleader=false;
                            conditional=true;
                        }
                        else {
  //                          System.out.println(line);
                            //Pos del vector subcampos
                            //0->vacio
                            //1->30006
                            //2->30007
                            //3->7
                            //4->82
                            //5->362
                            //6->490
                           subcampos2 = line.split("###");
                           if(subcampos2.length>2)
                           {
                            if (subcampos2[1].length()<6 && subcampos2[2].length()<6){
                                registrosCorrectos++;
                                if(subcampos2[3].length()<3)
                                    campo7vacio++;
                                else{
                                    if(subcampos2[3].length()>4)
                                    {
                                        String camp7=subcampos2[3].substring(4, subcampos2[3].length());
                                        /*
                                        if(camp7.substring(0, 1).compareTo("T")==0)
                                        {
                                            conti++;
                                            System.out.println("cad= "+auxi);
                                            auxi="";
                                        }*/
                                    switch (camp7)
                                    {
                                        case "S/ a/ as":{
                                            if(subcampos2[5].substring(4, subcampos2[5].length()).length()>2){
                                                tipo_registro="s"; 
                                                nivel_bibliografico="b";
                                            }
                                            else
                                                contOp3++;
                                        break;}
                                        case "S/ m/ ms":{
                                            if(subcampos2[5].substring(4, subcampos2[5].length()).length()>2){
                                                tipo_registro="s"; 
                                                nivel_bibliografico="m";
                                            }
                                            else
                                                contOp4++;
                                        break;}
                                        case "S/ s/ s":{
                                            if(subcampos2[5].substring(4, subcampos2[5].length()).length()>2){
                                                tipo_registro="s"; 
                                                nivel_bibliografico="s";
                                            }
                                            else
                                                contOp5++;
                                        break;}
                                        case "M/ m/ mc":{
                                            if(subcampos2[6].substring(4, subcampos2[6].length()).length()>2){
                                                tipo_registro="s"; 
                                                nivel_bibliografico="m";
                                            }
                                            else
                                                contOp6++;
                                        break;}
                                        case "M/ m/ m":{
                                            if(subcampos2[6].substring(4, subcampos2[6].length()).length()>2){
                                                tipo_registro="a"; 
                                                nivel_bibliografico="b";
                                            }
                                            else
                                                contOp8++;
                                        break;}
                                        
                                        default:{
                                            campo7diferente++;
                                            //System.out.println("/////////////////////");
                                        break;}
                                    }
                                    }else
                                        contOp7++;
                                }
                            }
                             if (subcampos2[1].length()<6 && subcampos2[2].length()>5){
                                 contOp1++;
                             }
                             if (subcampos2[1].length()>5 && subcampos2[2].length()<6){
                                 contOp2++;
                             }
                           }
                        }
                    }
                    
                }  
            } catch (IOException e) {  
                e.printStackTrace();  
            }
        } catch (FileNotFoundException ex) {  
            Logger.getLogger(IsisToMarc21.class.getName()).log(Level.SEVERE, null, ex);  
        } finally {
            try {
                out.close();
            } catch (IOException ex) {
                Logger.getLogger(IsisToMarc21.class.getName()).log(Level.SEVERE, null, ex);
            } 
            
        }
         System.out.println("registrosCorrectos: "+registrosCorrectos);
         System.out.println("campo7vacio: "+campo7vacio);
         System.out.println("campo7diferente: "+campo7diferente);
         
         System.out.println("3006 vacio; contOp1: "+contOp1);
         System.out.println("3007 vacio; contOp2: "+contOp2);
         System.out.println("S/ a/ as; contOp3: "+contOp3);
         System.out.println("S/ m/ ms; contOp4: "+contOp4);
         System.out.println("S/ s/ s; contOp5: "+contOp5);
         System.out.println("M/ m/ mc; contOp6: "+contOp6);
         System.out.println("m/ m/ m; contOp8: "+contOp8);
         System.out.println("Diferente; contOp7: "+contOp7);
         
         System.out.println("5 correcto  : "+campo5Correcto);
         System.out.println("5 incorrecto: "+campo5Incorrecto);
         System.out.println("5 total     : "+campo5Total);
         
         System.out.println("41 correcto  : "+campo41Correcto);
         System.out.println("41 incorrecto: "+campo41Incorrecto);
         System.out.println("41 total     : "+campo41Total);
         
         System.out.println("500 correcto  : "+campo500Correcto);
         System.out.println("500 incorrecto: "+campo500Incorrecto);
         System.out.println("500 total     : "+campo500Total);
         
         System.out.println("campo3005Correcto  : "+campo3005Correcto);
         System.out.println("campo3006Correcto  : "+campo3006Correcto);
         System.out.println("campo3007Correcto  : "+campo3007Correcto);
         System.out.println("campo3017Correcto  : "+campo3017Correcto);
         System.out.println("campo3018Correcto  : "+campo3018Correcto);
         
         System.out.println("conti  : "+conti);
         
         System.out.println("total  : "+conTotalReg);
         
         System.out.println("totalGuardado  : "+totalGuardado);
         System.out.println("guardado  : "+guardado);
         
         
    }
    public static char[] Indicadores(String cadena)
    {
        //separo al 1er indicador 
        //En este caso " "
        char[] indicadores = new char[2];
        String indicador1 = cadena.substring(0, 1);
        if (indicador1.compareTo(" ")==0 || indicador1.compareTo("#")==0){
    //        System.out.println("  -1er Indicador : Vacio");
            indicador1=" ";
        }
        else{
      //      System.out.println("  -1er Indicador : "+indicador1);
        }
        indicadores[0]=indicador1.charAt(0);
        //separo al 2do indicador 
        //En este caso " "
        String indicador2 = cadena.substring(1, 2);
        if (indicador2.compareTo(" ")==0 || indicador2.compareTo("#")==0){
        //    System.out.println("  -2do Indicador : Vacio");
            indicador2=" ";
        }
        else{
          //  System.out.println("  -2er Indicador : "+indicador2);
            
        }
        indicadores[1]=indicador2.charAt(0);
        return indicadores;
    }
    
    
    public static void Subcampos(String cadena, DataField datafield,MarcFactory factory)
    {
        // Separo por el caracter: ^
        //1ro->"  "  
        //2do->"aCIRCO  "
        //3ro->"aDOMADOR"
        String[] subcampo=cadena.split("\\^");
        int cont=1;

        while (cont<subcampo.length)
        {
            if(subcampo[cont].compareTo("")!=0){
                String subcampoAux=subcampo[cont].substring(0,1);
            //    System.out.println("    *Subcampo: "+subcampoAux+" : "+subcampo[cont].substring(1,subcampo[cont].length()));
                datafield.addSubfield(factory.newSubfield(subcampoAux.charAt(0),subcampo[cont].substring(1,subcampo[cont].length())));
            }
            cont++;
        }
    }
    public static void op2()
    {
        try{ 
            int cont2=1;
            String cad="mfn";
            while (cont2<8)
            {
                //if(cont2!=3005 && cont2!=3006 && cont2!=3007 && cont2!=3017 && cont2!=3018)
                    cad=cad+"'#"+cont2+"_',v"+cont2+",/";
                cont2++;
            }
            
            cad=cad+"#";
            Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 to=10 pft='#005_',v005/,'#3005_',v3005/,mfn/");
            //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 to=* pft=@marc3.pft");

            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
            String line = null;  
            while ((line = in.readLine()) != null) 
            {       
               System.out.println(line);
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }
    }
     public static void op3()
    {
        int cont3005=0;
        int cont3006=0;
        int cont3007=0;
        int cont3017=0;
        int cont3018=0;
        int contp=0;
        
        String cadi="";
        
         try{
            //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 to=* pft=MFN");
            Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 pft=@marc.pft");
            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
            String line = null;  
           
            while ((line = in.readLine()) != null){       
               String[] split = line.split("_");
                if(split.length>1){
                    //Ejemplo: 
                    //#653_  ^aCIRCO  ^aDOMADOR
                    //System.out.println(line);
                    
                    //Se muestra el número de campo: 
                    //653
                    String campoText=split[0].substring(1, split[0].length());
                    //System.out.println("campo: "+campoText);
                    
                    int campo=Integer.parseInt(campoText);
                    //Si tiene el campo ^:
                    //  ^aCIRCO  ^aDOMADOR
                    
                    if(split[1].length()>1){
                        switch (campo)
                        {
                            case -1:{
                                //System.out.println(line);
                                cadi=split[1];
                                break;
                            }
                        }
                    }
                    else{
                        
                       switch (campo){
                            case 3005:{
                                //System.out.println("  Valor : "+split[1]);
                                System.out.println("  3005: "+cadi);
                                cont3005++;
                                break;
                            }
                            case 3006:{
                                //System.out.println("  Valor : "+split[1]);
                                System.out.println("  3006: "+cadi);
                                cont3006++;
                                break;
                            }
                            case 3007:{
                                //System.out.println("  Valor : "+split[1]);
                                System.out.println("  3007: "+cadi);
                                cont3007++;
                                break;
                            }
                            case 3017:{
                                //System.out.println("  Valor : "+split[1]);
                                System.out.println("  3017: "+cadi);
                                cont3017++;
                                break;
                            }
                            case 3018:{
                                //System.out.println("  Valor : "+split[1]);
                                System.out.println("  3018: "+cadi);
                                cont3018++;
                                break;
                            }
                       }
                    }
                }
                else{
                    if(line.length()==0)
                    {
                        contp++;
                        System.out.println("....................................");
                    }
                }
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }
         System.out.println("3005: "+cont3005);
         System.out.println("3006: "+cont3006);
         System.out.println("3007: "+cont3007);
         System.out.println("3017: "+cont3017);
         System.out.println("3018: "+cont3018);
         System.out.println("contp: "+contp);
    }
}
 
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=biblo from=1 to=20 pft=@cds.pft");  
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc from=1 to=20 pft=@marc.pft"); 
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=cds from=1 to=2 pft=@cds.pft"); 
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=marc pft=v82/");
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=biblo from=1 to=* pft='new#24',v24,'#26',v26,'#27',v27,'#28',v28,'#29',v29,'#30',v30/");
        //Process p = Runtime.getRuntime().exec("cmd /c wwwisis db=cds from=0 \"pft=v5|; |\"/");
            
            //1000-1100
            //3000-3020
            //5001